<?php namespace Common\Model;
//	调用核心包里面的Model类
	use \Hdphp\Model\Model;
	
	
//	继承与核心包的Model类，核心包的的东西最好不要改，只要继承，修改本脚本就好
	class Order extends Model{
//		定义成员属性，看是需要哪个表，固定写法
		protected $table = 'snshop_order';
		
		
		protected $validate = array(
//			array('字段名','验证方法','方法说明（告知用户）',验证条件,验证时间),
			array('number','required','订单号不能为空',3,3),
		);
		protected $auto = array(
			array('time','strtotimes','method',3,1),
		);
		
		public function strtotimes(){
			return time();
		}
//		添加
		public function store(){
//			p($_POST);die; 
			$gidArr = Q('post.gid',array());
//			p($gid);die;
//			组合订单列表属性，将信息添加到订单表中				
//			订单号
			$orderHao = Cart::getOrderId();
			$_POST['number'] = $orderHao;
			$_POST['totalArr'] = $_POST['total'];
			$_POST['total'] = $_POST['total_all'];
			$_POST['remark'] = $_POST['explain'];
//			生成时间使用自动完成
			
//			通过提交过来的地址id，查询收货地址
			$addrData = Db::table('snshop_address')
						-> where('adid',Q('post.adid'))
						-> first();
//			p($addrData);die;
//			收货人
			$_POST['consignee'] = $addrData['user_name'];
//			收货地址
			$_POST['address'] = $addrData['user_address'];
//			收货电话
			$_POST['mobile'] = $addrData['user_phone'];
//			用户ID
			$_POST['uid'] = $_SESSION['uid'];
//			通过自动验证添加信息
			if(!$this -> create()) return FALSE;
//			p($this -> data);die;
			$oid = $this -> add();
			
//			添加订单列表
			unset($_POST['total']);
			$orderListModel = new \Common\Model\OrderList;


			$OrderListData = array();
//			存储订单列表返回的主键
			$olid = array();
			foreach($gidArr as $k => $v){
//				单个数量
				$OrderListData['quantity'] = $_POST['num'][$k];
//				价格小计
				$OrderListData['subtotal'] = $_POST['totalArr'][$k];
//				备注说明
				$OrderListData['explain'] = $_POST['explain'];
//				商品id
				$OrderListData['snshop_goods_gid'] = $_POST['gid'][$k];
//				所属订单id
				$OrderListData['snshop_order_oid'] = $oid;
				
	//			通过combile 和商品id来确认余下要添加的单元
				$goodsListData = Db::table('snshop_goods_list')
								-> field('glid','number')
								-> where('snshop_goods_gid',$_POST['gid'][$k])
								-> where('combine',$_POST['combile'][$k])
								-> first();
//				p($goodsListData);die;		
//				货品ID
				$OrderListData['glid'] = $goodsListData['glid'];
				$OrderListData['glnumber'] = $goodsListData['number'];
//				将重组的数据添加到订单列表里面			
				$olid[] = $orderListModel -> add($OrderListData);
				
				
			}
			$data = array();
			$data['oid'] = $oid;
			$data['olid'] = $olid;
			return $data;
		}

		
		
		
		
//		修改订单方法
		public function edit(){
//			p($_POST);die;
			if(!$this -> create()) return FALSE;
			
			$this -> save();
			
			return TRUE;
			
		}
		
//		删除订单方法
		public function del(){
			$oid=Q('get.oid',0,'intval');
		
	//		获取订单列表主键
			$orderListData = Db::table('snshop_order_list')
							-> where('snshop_order_oid',$oid)
							-> lists('olid');
	//		p($orderListData);die;
			
	//		删除订单表和订单列表
			Db::table('snshop_order') -> where('oid',$oid) -> delete();
			foreach($orderListData as $k => $v){
				Db::table('snshop_order_list') -> where('olid',$v) -> delete();
			}
			
			return TRUE;
		}
		
		
		
	}
	
	
	
	
	
	
	
	
	
	
	
	?>